package com.vhall.component.entity.tag.vo;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.vhall.component.framework.common.annotation.ParamName;
import lombok.Data;
import org.hibernate.validator.constraints.Length;

import java.io.Serializable;
import java.time.LocalDateTime;

/**
 * @author shimingming
 * @since 2023/4/12 16:25
 */
@Data
public class AdvertisingListRspVO implements Serializable {
    /**
     * ID
     */

    private Integer id;

    /**
     * 名称
     */
    @ParamName(value = "title")
    @JsonProperty(value = "title")
    private String title;

    /**
     * 所属栏目ID
     */
    @ParamName(value = "column_id")
    @JsonProperty(value = "column_id")
    private Integer columnId;

    /**
     * 所属栏目ID
     */

    @ParamName(value = "column_name")
    @JsonProperty(value = "column_name")
    private String columnName;

    /**
     * 房间id
     */
    @ParamName(value = "il_id")
    @JsonProperty(value = "il_id")
    private Integer ilId;

    /**
     * 排序
     */
    @ParamName(value = "sort")
    private Integer sort;

    /**
     * 上架状态：0-未上架，1-已上架 2 已下架
     */
    @ParamName(value = "is_shelves")
    @JsonProperty(value = "is_shelves")
    private Integer isShelves;

    /**
     * 上架状态：0-未上架，1-已上架 2 已下架
     */
    @ParamName(value = "is_shelves_name")
    @JsonProperty(value = "is_shelves_name")
    private String isShelvesName;

    /**
     * 图片
     */
    @ParamName(value = "image")
    private String image;

    /**
     * 开始时间
     */
    @ParamName(value = "start_time")
    @JsonProperty(value = "start_time")
    private LocalDateTime startTime;

    /**
     * 结束时间
     */
    @ParamName(value = "end_time")
    @JsonProperty(value = "end_time")
    private LocalDateTime endTime;


    /**
     * 投放位置：placement_location
     */
    @ParamName(value = "placement_location")
    @JsonProperty(value = "placement_location")
    private Integer placementLocation;

    /**
     * 投放位置：placement_location_name
     */
    @ParamName(value = "placement_location_name")
    @JsonProperty(value = "placement_location_name")
    private String placementLocationName;

    /**
     * 投放类型：ad_type
     */
    @ParamName(value = "ad_type")
    @JsonProperty(value = "ad_type")
    private Integer adType;

    /**
     * 投放类型：ad_type
     */
    @ParamName(value = "ad_type_name")
    @JsonProperty(value = "ad_type_name")
    private String adTypeName;

    /**
     * h5链接
     */
    @ParamName("url_h5")
    @JsonProperty("url_h5")
    @Length(max = 256)
    private String urlH5;

    /**
     * 原生链接
     */
    @ParamName("url")
    @JsonProperty("url")
    @Length(max = 256)
    private String url;

    /**
     * 直播类型 1 直播 2 录播 3 点播
     */
    @JsonProperty(value = "live_type")
    @ParamName("live_type")
    private Integer liveType;


    /**
     * 状态>0|待直播/预约,1|直播中,2|直播结束
     */
    @JsonProperty(value = "status")
    @ParamName("status")
    private Integer status;


}
